package com.xiyu.service.vo.elder.checkIn;

import com.xiyu.service.vo.elder.register.baseVO.ElderCheckInBase;
import com.xiyu.service.vo.nurse.plan.baseVO.NursePlanBase;
import com.xiyu.service.vo.bed.bed.baseVO.BedInfoBase;
import com.xiyu.service.vo.elder.info.baseVO.ElderInfoBase;
import com.xiyu.service.vo.restaurant.recipe.baseVO.RestaurantComboBase;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
import org.hibernate.validator.constraints.Length;
import jakarta.validation.Valid;
import com.xiyu.service.enums.common.CommonStatusEnum;
import com.xiyu.service.framework.validation.InEnum;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import static com.xiyu.service.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import java.time.LocalDateTime;

@Schema(description = "分页查询入住登记")
@Data
public class CheckInQueryOutput extends ElderCheckInBase {

    @Schema(description = "老人基本信息")
    @Valid
    private elder elder;

    @Schema(description = "床位信息")
    @Valid
    private bedInfo bedInfo;

    @Schema(description = "护理计划")
    @Valid
    private nursePlan nursePlan;

    @Schema(description = "餐饮套餐")
    @Valid
    private restaurantCombo restaurantCombo;

    @Schema(description = "主键ID")
    private Long id;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime createTime;

    @Schema(description = "餐饮套餐")
    @Data
    public static class restaurantCombo extends RestaurantComboBase {
    }

    @Schema(description = "老人基本信息")
    @Data
    public static class elder extends ElderInfoBase {
    }

    @Schema(description = "床位信息")
    @Data
    public static class bedInfo extends BedInfoBase {
    }

    @Schema(description = "护理计划")
    @Data
    public static class nursePlan extends NursePlanBase {
    }
}